package br.com.formulavendas.domainmodel;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.com.formulavendas.util.Constant;

// default package

/**
 * Usuario entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "usuario")
public class Usuario 
		extends EntityBase 
		 {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	// Fields
	@Id
	@SequenceGenerator(name = "usuario_id_seq", sequenceName = "usuario_id_seq", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "usuario_id_seq")
	private Integer id;

	@ManyToOne
	@JoinColumn(name = "id_funcinario")
	private Funcionario funcionario;

	@ManyToOne
	@JoinColumn(name = "id_perfil")
	private Perfil perfil;
	private String login;
	private String senha;

	// Constructors

	/** default constructor */
	public Usuario() {
	}

	/** full constructor */
	public Usuario(Funcionario funcionario, Perfil perfil, String login,
			String senha) {
		this.funcionario = funcionario;
		this.perfil = perfil;
		this.login = login;
		this.senha = senha;
	}

	// Property accessors

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Funcionario getFuncionario() {
		return this.funcionario;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public Perfil getPerfil() {
		return this.perfil;
	}

	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}

	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return this.senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public boolean isAdmin()
	{
		return (this.getPerfil().toString().equals(Constant.PERFIL_ADMIN));
	}
	
	public boolean isUsuario()
	{
		return (this.getPerfil().toString().equals(Constant.PERFIL_USUARIO));
	}
	
}